package com.echo.echovividlive.service;

import com.echo.echovividlive.domain.dto.FindPasswordDTO;
import com.echo.echovividlive.domain.dto.PasswordResetVO;
import com.echo.echovividlive.domain.dto.UserRegisterDTO;
import com.echo.echovividlive.domain.entity.Result;
import com.echo.echovividlive.domain.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author xiajunjie
 * @since 2024-10-22
 */
public interface IUserService extends IService<User> {

    Result sendVerifyCode(UserRegisterDTO user);

    Result active(UserRegisterDTO user);

    Result login(User user);

    Result uploadAvatar(MultipartFile avatar);

    Result resetPassword(PasswordResetVO passwordResetVO);

    Result uploadAvatarByStream(HttpServletRequest request) throws IOException;

    Result findPassword(FindPasswordDTO findPasswordDTO);
}
